﻿using System.Linq.Expressions;

namespace Lucene.Linq.Expressions
{
    internal class SkipExpression : ProjectionExpression
    {
        public SkipExpression(ProjectionExpression proj, Expression skipAmount)
            : base(proj.Source, proj.Projector)
        {
            SkipAmount = skipAmount;
        }

        internal Expression SkipAmount { get; private set; }
    }

    internal class TakeExpression : SkipExpression
    {
        internal TakeExpression(ProjectionExpression proj, Expression skipAmount, Expression takeAmount)
            : base(proj, skipAmount)
        {
            TakeAmount = takeAmount;
        }

        internal Expression TakeAmount { get; private set; }
    }
}